package com.dingding.nettyserver.modular.speicial.driver;

import com.dingding.nettyserver.common.annotion.RequestCommand;
import com.dingding.nettyserver.common.annotion.RequestTarget;
import com.dingding.nettyserver.common.annotion.RequiredLogin;
import com.dingding.nettyserver.common.trasferrule.common.BizTypes;
import com.dingding.nettyserver.common.trasferrule.common.special.SpecialModules;
import com.dingding.nettyserver.common.trasferrule.common.special.cmds.SpecialDriverCmds;
import com.dingding.nettyserver.common.trasferrule.response.HandlerResult;
import com.dingding.nettyserver.core.session.Session;
import com.google.protobuf.InvalidProtocolBufferException;

/**
 * @Description 专车业务，司机模块的相关请求
 * @author fengshuonan
 * @date 2016年11月30日 下午5:12:17
 */
@RequestTarget(bizType = BizTypes.SPECIAL_CAR,module = SpecialModules.DRIVER)
public interface IDriverHandler {

	/**
	 * @Description 实时上传位置，并获取当日流水等信息
	 * @author fengshuonan
	 * @throws InvalidProtocolBufferException 
	 */
	@RequestCommand(cmd = SpecialDriverCmds.UP_POSI_GET_INFO)
	@RequiredLogin(false)
	public HandlerResult<?> actual(Session session, byte[] data) throws InvalidProtocolBufferException;
	
	/**
	 * @Description 计算距离价格
	 * @author fengshuonan
	 * @throws InvalidProtocolBufferException 
	 */
	@RequestCommand(cmd = SpecialDriverCmds.CALC_PRICE)
	@RequiredLogin(false)
	public HandlerResult<?> calcPrice(Session session, byte[] data) throws InvalidProtocolBufferException;
	
}